.videos {
  display: grid;
  align-items: flex-start;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  grid-gap: 1rem;
}

.videos > div video {
  transition: filter 400ms ease;
}

.videos > div:hover video {
  filter: brightness(1.1);
}

.badges {
  display: flex;
  margin: 0.4em -0.3rem;
}

.badge {
  font-size: 0.8rem;
  margin: 0 0.3rem;
}

.badges > .badge {
  text-decoration: none;
  color: var(--xstyled-colors-on-background-light, #4a5568);
  background-color: var(--xstyled-colors-control-background);
  padding: 0.4rem 0.5rem;
  border-radius: 2px;
}

.badges > .badge:hover {
  background-color: var(--xstyled-colors-primary, #667eea);
  color: #fff;
}

.playerWrapper {
  position: relative;
  padding-top: 56.25%; /* Player ratio: 100 / (1280 / 720) */
}

.player {
  position: absolute;
  top: 0;
  left: 0;
}
